Information processor and control network system

ABSTRACT

An information processor capable of ensuring time synchronization accuracy, ensuring EtherCAT command consistency, and easily developing the software based on a 2-port configuration even when a communication path error occurs includes: an arithmetic section; at least two communication sections each including a transmission section and a reception section; and a redundant communication control section that controls a communication path between the arithmetic section and the communication section. The redundant communication control section includes: a communication path state determination section that determines a network path state; and a redundant path switching section that switches connection between the arithmetic section and at least two communication sections. The network provides a logical ring topology for a packet communication path. The redundant path switching section functions based on the communication path state determined by the communication path state determination section and changes a connection path between the communication sections and a communication path between the communication section and the arithmetic section.

CLAIM OF PRIORITY

The present application claims priority from Japanese Patent ApplicationNo. 2010-040419 filed on Feb. 25, 2010, the content of which is herebyincorporated by reference into this application.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processor includinginformation processing hardware and information processing software usedfor redundant networks for real-time communication and to a controlnetwork system including the information processor and control targets.

2. Description of the Related Art

In some control systems, a single control computer controls one or morecontrol targets via a network. As a control system example, a controlnetwork system allows one control computer to be connected with multiplecontrol targets via the ring topology. In this control network system, acontrol packet is transmitted from the control computer to multiplecontrol targets in order. The control packet may be composed of controlinstructions for the control targets.

The network topology may be specified as a logical ring topology. Inthis case, the star topology or the bus topology may be available on thecondition that the control packet is transmitted to control targets inorder. Control systems based on the ring topology include EtherCAT(registered trademark) and SERCOS (registered trademark), for example.

Generally, the control computer repeatedly performs a specified controlprocess on a control target at a specified cycle. The cycle causestemporal restriction on the control process. The temporal restrictionresults from the performance or the control scheme required of thecontrol system. The temporal restriction needs to be satisfied for thecommunication between the control computer and a control target. On theother hand, little or no temporal restriction is imposed on acquisitionof statistic information in order to diagnose or monitor controltargets.

EtherCAT (Communication Profile Family 12 of IEC61784 Part 2) isavailable as real-time Ethernet (registered trademark) and configuresring topology using a master provided as the control computer and aslave device (hereafter referred to simply as a slave) attached to acontrol target. Generally, the slave has two Ethernet ports. TheEthernet ports of slaves are successively connected to configure thering topology. The master may include one Ethernet port.

When the control network system uses the master having one Ethernetport, the last slave on the ring network internally loops back a packetto finally return the packet to the Ethernet port of the master. Forexample, the network physically or seemingly configured as line topologycan logically function as the ring topology from the viewpoint of thepacket communication path.

Such control system may be subject to requirements for the temporalrestriction and may require additional processes in order to perform thereliable control processing. Especially, additional processes are neededwhen a serious disadvantage might result from unsuccessful controlprocessing caused by an error occurrence on the communication path.There is provided a method of making the communication path redundant inorder to configure highly reliable ring topology including the singlecontrol computer and multiple control targets. Such a technology isknown in the prior art in the patent document of Japanese Laid OpenPatent JP-2004-96460 or JP-2003-60666.

Connection to the ring topology is made redundant by providing theEtherCAT master with two Ethernet communication ports. When the EtherCATmaster is physically provided with two communication ports, an availablemethod of ensuring the redundancy is to transmit the same packet fromboth of the two communication ports.

Generally, however, the following three problems arise when theconventional method is used to make the EtherCAT master redundant.

Firstly, when the EtherCAT ring network is disconnected, the EtherCATtime synchronization function may not be fully available. The EtherCATtime synchronization function is outlined below. The EtherCAT timesynchronization function includes three stages: measuring acommunication delay between slaves; compensating an offset between slaveclocks; and compensating an advance drift between the slave clocks. Thecommunication delay measurement between slaves is based on an algorithmas shown in FIG. 14.

FIG. 14 shows a packet communication path and reception times at portsof EtherCAT slave ICs 151 a, 151 b, and 151 c. Reference symbols Ta, Tb,Tc, Td, and Te in FIG. 14 denote times for the ports to receive apacket. Reference symbol tdiff denotes a communication delay between theslaves. Reference symbol tp denotes a processing time period of anEtherCAT Processor Unit 160.

Regarding slave A, a clock in the same slave IC 151 a measures Ta andTe. The slave IC 151 a differs from the slave IC 151 b in clock offsetsor drifts. It is impossible to simply compare Ta and Te with Tb and Td.Let us suppose that Ta through Te in FIG. 14 are measurable and tp isknown. Then, communication delay tdiffBC between slaves C and B iscalculated as follows.

tdiffBC=(Td−Tb)±2

where (Tc−Tb) and (Td−Tc) are assumed to be equal. It is also assumedthat the EtherCAT slaves use the same type of processor unit. Whendifferent processor units are used, tp differences need to be taken intoconsideration.

The following equations find communication delay tdiffAB between slavesB and A.

tdiffAB=((Te−Ta)−(Td−Tb)−tp)÷2+tp

tdiffBA=tdiffAB−tp

An EtherCAT slave incompatible with the time synchronization function isassumed to be a mere communication path. In other words, packets need tobe transferred at a fixed communication delay.

A time synchronization packet needs to circulate through the ringnetwork in order to enable the time synchronization function. In otherwords, a communication delay is calculated based on packet receptiontimes on the forward and backward paths for a given slave.

The EtherCAT master may have two communication ports each transmittingtime synchronization packets. The packets do not circulate through thering network and are received at the other communication port than thatused for the transmission. Accordingly, it is impossible to calculate acommunication delay for the time synchronization.

(Software-Based Redundant Processing)

As another possible redundant method, only one communication porttransmits a packet. The packet is looped inside a slave farthest fromthe packet transmission port, that is, a slave adjacent to the otherport of the master. In this case, when the network malfunctions, thesame communication port transmits a packet and receives it. Software forthe EtherCAT master is used to transmit the packet from the othercommunication port.

However, the software processing causes a long delay and jitter comparedto the packet transfer processing of a slave. This software processingneeds to transfer packets at a fixed communication delay as well as anEtherCAT slave incompatible with the time synchronization function.

The synchronization accuracy degrades compared to the timesynchronization function for the normal network.

Secondly, commands transmitted from the master may be inconsistent.Especially, the consistency may not be ensured for commands for logicaladdresses and auto-increment addresses.

(Command Consistency for Logical Addresses)

The following describes a problems of commands concerning logicaladdresses. The EtherCAT function can map any address spaces for theslaves to a single virtual address space. This virtual address space isreferred to as a logical address.

According to the normal redundant configuration for the EtherCAT master,a network error, if any, may cause each of two communication ports totransmit a packet containing a command. Some commands are issued toaddresses corresponding to EtherCAT slaves such as station addresses forspecifying individual slaves. A packet containing the commands can beissued by determining to which of the two communication ports the slaveis connected.

When a command corresponds to the logical address, however, an addressto be read or written by the single command may be mapped to the slavesbelonging to portions of the network divided by the error. In this case,the EtherCAT master needs to manage a correspondence table of logicaladdresses and combine results of the command corresponding to thelogical address while ensuring the command consistency. This complicatesdevelopment of the software.

(Command Consistency for Auto-Increment Addresses)

Commands for auto-increment addresses also cause a problem. An EtherCATauto-increment address is based on EtherCAT slave addressing inaccordance with an arrival sequence of packets. When each of the slavesreceives a packet having an auto-increment address, the slave determineswhether the address equals 0. The slave increments the address value andtransfers the packet to the next slave.

FIG. 12 shows how auto-increment addresses specify the slaves. As shownin FIG. 12, the control network system includes multiple slaves 121connected to a control computer 120 via a network 122. To communicatewith the fourth slave (n=4), for example, the master sets theauto-increment address to −3.

An error occurrence on the network 122 changes the packet processingsequence. A packet is processed on an EtherCAT slave different from thatintended by a developer. FIG. 13 shows auto-increment addresses for theslaves 121 a through 121 e when an error occurs on the network 122.According to the configuration in FIG. 13, two communication ports inthe control computer 120 simultaneously transmit packets. A path erroroccurs between the slaves n=3 and n=4 and disconnects the network 122,changing the auto-increment addresses of the fourth and fifth slaves asthe original orders.

Thirdly, the software needs to be developed in consideration for twocommunication ports used for the redundant EtherCAT master. The softwaredevelopment becomes more complicated than that for conventional EtherCATmasters having one port with respect to command combination in the eventof an error and the time synchronization, for example.

In short, the conventional information processor based on the redundantconfiguration of the general-purpose EtherCAT master and the controlnetwork system using such information processor entail the problems of adecrease in the time synchronization accuracy, the need for ensuring theEtherCAT command consistency, and the complicated software developmentdue to the 2-port configuration.

The present invention has been made in consideration of the foregoing.It is therefore an object of the invention to provide an informationprocessor and a control network system using the same for configuring anetwork capable of improving the time synchronization accuracy, ensuringthe EtherCAT command consistency, and facilitating the softwaredevelopment for the 2-port configuration.

SUMMARY OF THE INVENTION

To achieve the above-mentioned object, an information processoraccording to the invention controls one or more control targets via anetwork and includes: an arithmetic section; at least two communicationsections each including a transmission section for transmitting packetto a network and a reception section for receiving a packet from anetwork; and a redundant communication control section that is providedbetween the arithmetic section and the communication section andcontrols a communication path.

The arithmetic section transmits an instruction value for the controltarget to the redundant communication control section and receives aresult of communication with the control target from the redundantcommunication control section.

The communication section transmits a communication content receivedfrom the redundant communication control section to the control targetvia the network and transmits a result received from the control targetto the redundant communication control section.

The redundant communication control section includes: a communicationpath state determination section for determining a path state of thenetwork; and a redundant path switching section for switching connectionbetween the arithmetic section and at least the two communicationsections.

The network for connecting the one or more control targets with thecommunication section provides a logical ring topology. The redundantpath switching section functions based on the communication path statedetermined by the communication path state determination section andchanges a connection path between the communication sections and acommunication path between the communication section and the arithmeticsection to communication paths having different logical ring topologies.

Preferably, the communication section includes a transmission sectionfor transmitting a packet to the network; and a reception section forreceiving a packet from the network. When the communication pathnormality determination section determines a communication path to benormal, the redundant path switching section connects the arithmeticsection with one of the communication sections and connects a receptionsection with a transmission section for the other communication sectionto configure a logical ring topology. When the communication pathabnormality determination section determines a communication path to beabnormal, the redundant path switching section connects the transmissionsection for the arithmetic section with the transmission section for thecommunication section, connects the reception section with atransmission section for the other communication section, and connectsthe reception section with a reception section for the arithmeticsection to configure the logical ring topology.

The present invention can improve time synchronization accuracy, ensureEtherCAT command consistency, and easily develop the software based on a2-port configuration.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram showing the configuration of the controlnetwork system according to a first embodiment of the invention;

FIG. 2 is a block diagram showing the hardware configuration of acontrol computer in FIG. 1;

FIG. 3 is a block diagram showing the function configuration of aredundant communication control section in FIG. 2;

FIG. 4 is a block diagram showing the hardware configuration of anEtherCAT slave;

FIG. 5 is a block diagram showing the function configuration of anEtherCAT slave IC;

FIG. 6 is a flowchart showing a process of the redundant communicationcontrol section in FIG. 3;

FIG. 7 shows an EtherCAT frame format;

FIG. 8 shows a communication path inside a redundant path switchingsection in normal mode;

FIG. 9 shows a communication path inside a redundant path switchingsection in abnormal mode;

FIG. 10 shows a normal packet communication path;

FIG. 11 shows an abnormal packet communication path;

FIG. 12 shows a network state and auto-increment addresses;

FIG. 13 shows a network state and auto-increment addresses;

FIG. 14 shows a method of measuring a communication delay for the timesynchronization;

FIG. 15 shows a network state and auto-increment addresses;

FIG. 16 shows a network state and auto-increment addresses;

FIG. 17 is a block diagram showing the function configuration of aredundant communication control section according to a second embodimentof the invention;

FIG. 18 is a block diagram showing the hardware configuration of acontrol computer according to the second embodiment;

FIG. 19 is a schematic diagram showing the configuration of the controlnetwork system using the control computer shown in FIG. 18;

FIG. 20 shows function correspondence of a communication section in theredundant communication control section shown in FIG. 17;

FIG. 21 exemplifies a communication path in normal mode for a functionsection according to the second embodiment;

FIG. 22 exemplifies a communication path in abnormal mode for thefunction section according to the second embodiment;

FIG. 23 exemplifies a communication path in abnormal mode for thefunction section according to the second embodiment;

FIG. 24 exemplifies a communication path in abnormal mode for thefunction section according to the second embodiment;

FIG. 25 exemplifies a communication path in normal mode for the functionsection according to the second embodiment;

FIG. 26 shows connection state transition of the redundant pathswitching section;

FIG. 27 is a flowchart showing a process of the redundant path switchingsection;

FIG. 28 is a block diagram showing the function configuration of theredundant communication control section according to a third embodimentof the invention; and

FIG. 29 shows a network state according to the third embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Embodiments of the present invention will be described in further detailwith reference to the accompanying drawings.

First Embodiment

FIG. 1 is a schematic diagram showing the control network systemincluding the information processor according to the embodiment. Asshown in FIG. 1, the information processor according to the embodimentis used as a control computer (master) 120 that controls a controltarget (slave) 121 connected via a control network 122.

The control computer 120 includes two Ethernet communication ports forconnection with the control network 122 and is connected to multiplecontrol targets 121 via the control network 122. The control targets 121include a servo amplifier and a servomotor. The control network 122 isequivalent to Ethernet (registered trademark). The network in FIG. 1configures the ring topology and may also use the star topology, theline topology, or the composite topology configured by combining thesetopologies for the hardware configuration as long as it logicallycomplies with the ring topology.

FIG. 2 is a block diagram showing the hardware configuration of thecontrol computer 120. As shown in FIG. 2, the control computer 120includes a CPU 101, memory 108, a nonvolatile storage medium 109, and aredundant communication control section 102 that are connected with eachother via a bus 110. The redundant communication control section 102connects with a physical layer device (PHY) 103.

The CPU 101 as an arithmetic section transfers a processing program fromthe nonvolatile storage medium 109 to the memory 108 and executes theprogram. The processing programs include an operating system (OS) and anapplication program running under the OS.

The redundant communication control section 102 receives a communicationrequest from the program running on the CPU 101 and communicates withthe control network 122 using the PHY 103. The redundant communicationcontrol section 102 is implemented as ICs such as FPGA, CPLD, ASIC, anda gate array, for example.

The PHY 103 represents a transceiver IC provided with the function tocommunicate with the control network 122. The PHY 103 provides anEthernet PHY (physical layer) chip as the communication standard.According to the configuration in FIG. 2, the PHY 103 connects with theredundant communication control section 102. Therefore, the redundantcommunication control section 102 includes processing for the EthernetMAC (Media Access Control) layer. As an available configuration, an ICproviding the MAC function may be provided between the redundantcommunication control section 102 and the PHY 103. As another availableconfiguration, the redundant communication control section 102 may beconnected with a communication IC as a combination of the IC providingthe MAC function and the PHY 103.

The bus 104 complies with the communication standard for connecting theMAC layer with the PHY layer for Ethernet and includes MII (MediaIndependent Interface), GMII (Gigabit MII), and RMII (Reduced MII) asexamples.

The memory 108 temporarily stores the OS and an application programtransferred from the nonvolatile storage medium 109 so that the CPU 101can execute the program. The nonvolatile storage medium 109 storesinformation such as a program for operating the CPU 101 and a result ofprogram execution.

The bus 110 connects the CPU 101, the memory 108, the nonvolatilestorage medium 109, and the redundant communication control section 102with each other. The bus 110 represents a PCI bus, an ISA bus, a PCIExpress bus, a system bus, and a memory bus, for example.

(Configuration of the Redundant Communication Control Section)

FIG. 3 is a block diagram showing the function configuration of theredundant communication control section 102. As shown in FIG. 3, theredundant communication control section 102 includes two communicationsections 135 a and 135 b, a bus interface section 130, a communicationpath state determination section 132, and a redundant path switchingsection 131. The communication sections 135 a and 135 b are connected tothe control network 122. The bus interface section 130 is connected tothe bus 110. The communication path state determination section 132determines a communication path state. Based on a determination resultfrom the communication path state determination section 132, theredundant path switching section 131 switches the communication path tothe other between the communication section 135 a or 135 b and the businterface section 130 connected to the arithmetic section.

The bus interface section 130 communicates with the CPU 101 or thememory 103 in accordance with communication specifications of the bus110. The bus interface section 130 is connected to the operationmanagement section 138 and the redundant path switching section 131 inthe redundant communication control section 102. The bus interfacesection 130 transmits or receives a packet from the redundant pathswitching section 131. The bus interface section 130 exchanges controlinformation and state information about the redundant communicationcontrol section 102 with the operation management section 138.

The redundant path switching section 131 is provided as a functionsection capable of switching between packet communication paths. Theredundant path switching section 131 functions as a packet communicationpath and is connected to a packet generation section 139, a packetfilter section 140, and the communication section 135. The redundantpath switching section 131 changes its internal communication path andconnects with the operation management section 138 to acquire the stateinformation.

FIGS. 8 and 9 show communication paths inside the redundant pathswitching section 131. The redundant path switching section 131 uses theconnection scheme of communication paths shown in FIG. 8 or 9 inaccordance with an instruction from the operation management section138. A reception line Rx 180 connects with the packet filter section140. A transmission line Tx 181 connects with the packet generationsection 139. Packet data from an application running on the CPU 101passes through the transmission line Tx 181 and is transmitted to theredundant path switching section 131. Packet data received by theredundant path switching section 131 from the network passes through thereception line Rx 180 and is transferred to an application running onthe CPU or the memory 108.

The reception line Rx 184 is connected to the reception section 137 a ofthe communication section 135 a. The transmission line Tx 185 isconnected to the transmission section 136 a of the communication section135 a. The reception line Rx 182 is connected to the reception section137 b of the communication section 135 b. The transmission line Tx 183is connected to the transmission section 136 b of the communicationsection 135 b.

Back to FIG. 3, the communication sections 135 a and 135 b are connectedto the control network 122 and perform communication in accordance witha communication protocol for the control network 122. According to theconfiguration in FIG. 2, the PHY 103 is provided outside the redundantcommunication control section 102. Therefore, the communication section135 is equivalent to a processing section for the MAC layer. Thecommunication section 135 functions as a connection interface sectionwith the MAC layer when the redundant communication control section 102is connected to an Ethernet communication device including the MAC layerand the PHY layer. The redundant communication control section 102 mayinclude the PHY function.

The communication section 135 a is equivalent to a communication portthat transmits a packet transmitted from the packet generation section139. The communication section 135 b is equivalent to a communicationport that receives a packet from the last slave in the ring network andloops back the packet. The communication sections 135 a and 135 b aredistinguished from each other only for ease of explanation and give nosignificance to which of two PHYs 103 preferentially should transmit apacket.

The transmission section 136 a, 136 b are provided as a transmissionfunction section in the communication section 135 and allows the controlcomputer 120 to transmit a packet to the control network 122. Thereception section 137 a, 137 b are provided as a reception functionsection in the communication section 135 and receives a packettransmitted from the control network 122.

The operation management section 138 supplies the bus 110 with operationcontrol and states of the redundant communication control section 102and controls functions of the redundant path switching section 131. Theoperation management section 138 maybe available as a function register,for example. A program running on the CPU 101 accesses the functionregister of the operation management section 138 via the bus 110 tocontrol operations or acquire states of the redundant communicationcontrol section 102.

Items specifiable in the operation management section 138 includeselection of the communication sections 135 a and 135 b for packettransmission, the number of slaves estimated for the system, criteriafor the communication path state determination, and path switching inthe redundant path switching section 131. Acquirable informationincludes the number of slaves connected to the control network 122 andinformation about a communication path location suspected of an error.

The communication path state determination section 132 includes acommunication path abnormality determination section 133 and acommunication path normality determination section 134. Thecommunication path abnormality determination section 133 determinesabnormality such as disconnection of the control network 122. Thecommunication path normality determination section 134 determines normalcommunication of the control network 122. The communication path statedetermination section 132 notifies the operation management section 138of determination results from the communication path abnormalitydetermination section 133 and the communication path normalitydetermination section 134. The communication path state determinationsection 132 is connected to reception paths from the reception sections137 a and 137 b and monitors packets to determine the communication pathstate.

The packet generation section 139 responds to a request from thecommunication path state determination section 132 and changes thecontent of a packet transmitted from the bus interface section 130 ortransmits a new packet. The communication path state determinationsection 132 issues requests for determining communication path states.When a packet to be transmitted is not modified or added, the packetgeneration section 139 receives data from the bus interface section 130and transmits the data without doing anything. When a packet is directlytransmitted from the bus interface section 130 to the redundant pathswitching section 131, the bus interface section 130 and the packetgeneration section 139 maybe configured to selectively transmit atransmission data signal to the redundant path switching section 131.

The packet filter section 140 notifies the communication path statedetermination section 132 of an EtherCAT telegram that matches apredetermined condition. The communication path state determinationsection 132 determines the communication path state based on the contentreceived from the packet filter section 140.

FIG. 4 is a block diagram showing the hardware configuration of acontrol target 121. As shown in FIG. 4, the control target 121 isprovided with communication hardware for implementing the communicationfunction. Communication hardware 150 includes the CPU 101, the slave IC151, the nonvolatile storage medium 109, and two PHYs 103. According toan actual configuration, though not shown in the drawing, the CPU isconnected to peripheral devices to control sensors and actuators. Theslave IC 151 is dedicated to slaves and complies with the EtherCATspecifications defined in Communication Profile Family 12 of IEC61158 orIEC61784 Part 2.

(Configuration of the Slave IC 151)

FIG. 5 is a block diagram showing the function configuration of theslave IC 151 of FIG. 4. As shown in FIG. 5, the slave IC 151 includes anEtherCAT Processing Unit (EPU) 160 and multiple communication ports(four communication ports 0 through 3 in FIG. 5). Each communicationport is provided with a loopback function section 162 and an automatictransfer section 161. The loopback function sections 162 are circularlyconnected to the EPU 160.

The EPU 160 represents an IC device compliant with the EtherCATspecification for communication processing. The EPU 160 is connected tothe control network 122 via a bus 163 and notifies the CPU 101 ofinformation about EtherCAT. The CPU 101 configures settings of the EPU160. Each communication port is connected to an adjacent slave inaccordance with the physical specifications (e.g., Ethernet or EBUS)defined for EtherCAT.

The automatic transfer section 161 transfers a received packet to theloopback function section 162. The loopback function section 162transmits the packet to the communication port or transfers it to theother adjacent loopback function section 162 depending on settings fromthe EPU 160 and the connection state of the communication path connectedto the loopback function section 162. The packet is transferred so as tounidirectionally circulate through the loopback function sections 162connected to each other. For example, the packet circulates throughcommunication ports 0, 3, 1, 2, and then 0.

The EPU 160 sets the loopback function section 162 based on thecommunication content transmitted from the control computer 120. Thesetting examples include Open, Close, Auto and Auto Close modes. TheOpen mode always transmits a packet to the communication port. The Closemode always transmits a packet to the adjacent loopback function section162. The Auto mode selects a packet transmission path depending on thesetting state of the connected communication port. The Auto Close modeselects a packet transmission path depending on the setting state of theconnected communication port but requires the explicit specificationfrom the EtherCAT master when the communication path needs to bereestablished.

In the Auto mode, the loopback function section 162 transmits a packetto the communication port when the communication is established with theadjacent control computer 120 or the control target 121 via thecommunication port. On the other hand, the loopback function sectiontransfers a packet to the adjacent loopback function section 162 when nocommunication path is formed with the control computer 120 or thecontrol target 121 or no communication is established with the adjacentcontrol computer 120 or the control target 121 due to an error or afailure on the communication path.

(Dynamic Sequence)

The following describes a process of the redundant communication controlsection 102 in the control computer 120. FIG. 6 is a flowchart showingthe process of the redundant communication control section 102.

As shown in FIG. 6, the process sets the internal state of the redundantpath switching section 131 to a normal mode (step S001). In the normalmode, the connection state is defined as follows. The control network122 contains no path error. As shown in FIG. 8, the transmission line Tx185 and the reception line Rx 184 at one communication port arerespectively connected to the transmission line Tx 181 and the receptionline Rx 180 at the CPU side so as to transmit and receive packets.

The transmission line Tx 183 and the reception line Rx 182 at the othercommunication port are connected to each other in the redundant pathswitching section 131 so as to loop packets back to the control target121.

After the normal mode is enabled, the redundant communication controlsection 102 counts EtherCAT slaves connected to the circular controlnetwork 122. As a method of counting slaves, a BRD (Broadcast Read)command is issued to a register processed by all slaves to check theworking counter. This command is issued in accordance with a requestfrom the operation management section 138. The packet generation section139 then generates and transmits a packet. The number of slaves (fivefor this embodiment) is predefined when the system is configured.

The process compares the predefined slave count with a slave countacquired by issuing the BRD command. When the slave counts match, theprocess proceeds to step S003. When the slave counts differ, an error isconsidered to occur on the communication path. It is necessary totroubleshoot the communication path with reference to a link lost errorcounter or the slave count resulting from the issued command.

After the slaves are counted, the process sets the operation managementfor the redundant communication control section 102 (step S003).Specifically, the operation management section 138 is supplied withprerequisite settings such as the method of determining thecommunication path state and selection of a communication port to beused. All slaves are set to the Auto mode. When the communication pathmalfunctions, the loopback function section 162 connected to thatcommunication path transfers a packet to the adjacent communicationport.

After the setting for the redundant communication control section 102,the process performs real-time communication appropriate to anapplication in accordance with a qualified EtherCAT procedure (stepS004). During the real-time communication, the communication path statedetermination section 132 determines whether the redundant pathswitching section 131 operates in the normal mode (step S005). When thisis true, the communication path abnormality determination section 133determines whether an error occurs on the communication path (stepS006).

(EtherCAT Frame and Working Counter (WKC))

FIG. 7 shows the EtherCAT packet (frame) configuration. As shown in FIG.7, an EtherCAT frame 170 includes an Ethernet header 171, a data area172, and a frame check sequence (FCS) 173. The data area 172 stores theEtherCAT communication content. The FCS 173 checks if data in the dataarea 172 is valid. For EtherCAT, the Type field in the Ethernet header171 contains 0x88A4.

The EtherCAT data area 172 includes an EtherCAT header 174 and one ormore EtherCAT telegrams 175. The EtherCAT telegram 175 includes atelegram header 176, telegram data 177, and a working counter (WKC) 178.The working counter 178 is used as a field. Each time an appropriateslave processes the telegram, the slave increments the working counter178 by a predetermined value.

The following describes methods of determining whether the communicationpath is normal or abnormal.

(First Abnormality Determination Method)

FIG. 10 shows a normal communication path. FIG. 11 shows an abnormalcommunication path. When the communication path is normal as shown inFIG. 10, a packet transmitted from the redundant path switching section131 is transferred to the communication section 135 a, the controltargets 121, and then the communication section 135 b. The packet passesthrough the redundant path switching section 131 and is transferred tothe communication sections 135 b, the control targets 121, then thecommunication section 135 a, and returns to the redundant path switchingsection 131.

As shown in FIG. 11, when the communication path is abnormal due to anerror between the two control targets 121, a packet transmitted from theredundant path switching section 131 is transferred to the communicationsection 135 a and returns to the redundant path switching section 131 inaccordance with a path transfer function of the loopback functionsection in the control target 121 connected to the communication section135 a, for example. In short, when the communication path is abnormal, apacket transmitted from the redundant path switching section 131 returnsto it without once passing through it

As the first abnormality determination method, the abnormalitydetermination section determines whether a packet is received from thecommunication section 135 a before the redundant path switching section131 receives a packet from the communication section 135 b. Theabnormality determination section determines the communication path tobe abnormal when a packet is received by the communication section 135 aand not by the communication section 135 b. FIG. 11 shows the packetcommunication direction and omits the PHY 103.

(Second Abnormality Determination Method)

The second abnormality determination method supplies an EtherCAT framewith the BRD command issued to a register processed by all slaves andchecks the working counter for that frame. The communication path isdetermined to be abnormal when a value of the working counter for theEtherCAT frame is smaller than the slave count that is acquired andverified in advance.

(Countermeasure Against a Communication Path Error)

Now returning back to the flowchart in FIG. 6, when no error may occuron the communication path (N at step S006), the EtherCAT communicationcontinues (step S004). When the communication path abnormalitydetermination section 133 determines that an error occurs on thecommunication path (Y at step S006), the operation management section138 changes the internal state of the redundant path switching section131 to the abnormal mode and establishes the internal path connection asshown in FIG. 9 (step S007).

According to the internal path in the abnormal mode shown in FIG. 9, thereception line Rx 182 at one of the communication ports transmits apacket to the reception line Rx 180 at the arithmetic section side. Thetransmission line Tx 181 at the arithmetic section side transmits apacket to the transmission line Tx 185 at the other communication port.The transmission line Tx 183 at the former communication port notconnected to the arithmetic section is connected to the reception lineRx 184 at the latter communication port to loop a packet back to thecontrol target 121.

The internal path of the redundant path switching section 131 is changedto the abnormal mode. At the same time, a communication means for thebus 110 is used to notify a program running on the CPU 101 that theinternal path of the redundant path switching section 131 has beenchanged. The communication means for the bus 110 notifies an interrupt,for example. When receiving the notification, the program notifies auser or an operator that an error occurs on the communication path. Theuser or the operator can recover from the error by replacing acommunication cable, for example.

(Method of Locating an Error Occurrence on the Communication Path)

The method uses a value of the working counter for the BRD commandissued to a register processed by all slaves. As shown in FIG. 13, forexample, a communication path error may occur between a slave 121 c withaddress n set to 3 and a slave 121 d with address n set to 4. In thiscase, the network is configured so that the third slave 121 c loops backa packet. An EtherCAT telegram passes through the slaves 121 a, 121 b,and 121 c with addresses n set to 1, 2, and 3, respectively, and setsits working counter to 3. It can be assumed that an error occurs on thecommunication path between the slaves 121 c and 121 d.

Alternatively, the method reads a lost link counter register for eachcommunication port corresponding to each slave. The method assumes anerror occurrence on the communication path connected to thecommunication port where a non-zero value is acquired. The lost linkcounter register needs to clear the register value by writingsimultaneously with reading. The above-mentioned method notifies theoperation management section 138 of the location of the communicationpath assumed to be abnormal and supplies the location to a programrunning on the CPU 101.

(First Normality Determination Method)

Now returning back to the flowchart in FIG. 6, the redundant pathswitching section 131 may operate in the abnormal mode (N at step S005).In this case, the communication path normality determination section 134determines whether the communication path recovers from the error (stepS008).

The first normality determination method determines whether thecommunication section 135 b receives a packet after the communicationsection 135 a transmits a packet. As shown in FIG. 10, the communicationpath normality determination section 134 determines the communicationpath to be normal when verifying that the communication section 135 breceives a packet before the communication section 135 a receives apacket.

(Second Normality Determination Method)

The second normality determination method supplies an EtherCAT framewith the BRD command issued to a register processed by all slaves andchecks the working counter. The communication path is determined to benormal when the value of the working counter for the EtherCAT frame atthe first receiving communication section 135 equals the slave countthat is acquired and verified in advance. For example, the communicationpath is determined to be normal when the communication section 135 atransmits a packet and then the communication section 135 b receives apacket and when the working counter value for the EtherCAT frame equalsthe slave count that is acquired and verified in advance.

Alternatively, the communication path is determined to be normal whenthe communication section 135 a transmits a packet and then receives apacket and when the working counter value for the EtherCAT frame equalsthe slave count that is acquired and verified in advance. In the lattercase, however, an error may occur on the communication path connected tothe communication section 135 b. The method may determine an erroroccurrence instead of determining the communication path connection inthe normal mode shown in FIG. 8.

When the communication path does not recover from the error (N at stepS008), the EtherCAT communication continues (step S004). When thecommunication path recovers from the error (Y at step S008), theredundant path switching section 131 changes the internal state to thenormal mode and configures the internal path connection as shown in FIG.8 (step S009). At the same time, the communication means for the bus 110is used to notify the program running on the CPU 101 that the internalstate has been changed. The program then notifies the recovery state ofthe communication path to a user or an operator. The user or theoperator can confirm the recovery state.

The EtherCAT communication in the normal or abnormal mode terminateswhen the CPU 101 issues an instruction to terminate the EtherCATcommunication (step S010). In FIG. 6, the process verifies the presenceor absence of a termination instruction after the redundant path ischanged. The presence or absence of the termination instruction may beverified at any timing. For example, the presence or absence of thetermination instruction may be verified before step S004.

Effects of the Embodiment

When an error occurs on the communication path, the control target 121nearest to the error location can loop back a packet in the controlnetwork system using the control computer 120 according to theembodiment. The redundant path switching section 131 can change theinternal communication path to form a network based on logical topologyby avoiding the error location without the need for software processing.Accordingly, the control computer 120 can transfer packets with aspecified delay and perform a time synchronization algorithm even whenan error occurs on the communication path.

When a command needs to be transmitted to the logical address, packetsneed not be transmitted to respective portions of the networkdisconnected by a communication path error. A single packet istransferred over the ring network so as to configure a communicationpath that loops back in the redundant communication control section 102.

Accordingly, the telegram stores an expected correct result even whendifferent slaves are allocated to portions of the disconnected networkin accordance with the mapping of the logical address space. Thesequence of the control targets 121 is unchanged in the control networkusing the control computer 120 according to the embodiment. Theauto-increment addresses need not be changed.

FIG. 15 shows auto-increment addresses for the control targets in thenormal mode. In FIG. 15, a solid line indicates the communication pathfor an EtherCAT frame. Two communication ports are effective for thecontrol target 121. As shown in FIG. 15, the auto-increment address isincremented each time the EtherCAT frame passes through the EPU 160.

FIG. 16 shows auto-increment addresses for the control targets in theabnormal mode. In FIG. 16, a broken line indicates the communicationpath where an error occurs. As shown in FIG. 16, the abnormal mode doesnot change the sequence of EPUs 160 the EtherCAT frame passes through.Therefore, auto-increment addresses are specifiable similarly to thenormal mode.

Initialization of the redundant communication control section 102 isonly an additional process to the development of the software installedin the control computer 120. The redundant communication control section102 automatically processes a redundancy operation such as switching theinternal paths in accordance with communication path states.Accordingly, the software just needs to be developed so as to complywith the single communication port similar to a conventional technology.It is possible to reduce a burden on software development for aredundant network.

As mentioned above, the control computer 120 according to the embodimentcan ensure the highly reliable real-time communication.

Second Embodiment

The second embodiment will be described. FIG. 18 is a block diagramshowing the hardware configuration of a control computer 180 accordingto the embodiment. FIG. 19 is a schematic diagram showing theconfiguration of the control network system using the control computer180 shown in FIG. 18. As shown in FIGS. 18 and 19, the control computer180 according to the embodiment includes four communication ports. Thecontrol computer 180 configures a control network having two ringnetworks 122 a and 122 b in each of which two communication ports arephysically connected to each other.

FIG. 17 is a block diagram showing the function configuration of aredundant communication control section 181 according to the embodiment.Unless otherwise specified, the mutually corresponding components orfunctions in FIGS. 17 and 3 are designated by the same referencenumerals. As shown in FIG. 17, the redundant communication controlsection 181 according to the embodiment differs from the redundantcommunication control section 102 in FIG. 3 in that four communicationsections 135 a, 135 b, 135 c, and 135 d are provided.

(Logical Communication Section)

The communication section 135 a is a communication port that transmits apacket from the packet generation section 139. The communication section135 a includes the transmission section 136 a and the reception section137 a that are connected to a transmission line Tx 201 and a receptionline Rx 200, respectively. The communication section 135 b is acommunication port that receives packets from the communication section135 a and the last EtherCAT slave included in the control network 122 a.The communication section 135 b includes the transmission section 136 band the reception section 137 b that are connected to a transmissionline Tx 203 and a reception line Rx 202, respectively.

The communication section 135 c is a communication port that transmits apacket received by the communication section 135 b to the controlnetwork 122 b. The communication section 135 c includes a transmissionsection 136 c and a reception section 137 c that are connected to atransmission line Tx 205 and a reception line Rx 204, respectively. Thecommunication section 135 d is a communication port that receivespackets from the communication section 135 c and the last EtherCAT slaveincluded in the control network 122 b. The communication section 135 dincludes a transmission section 136 d and a reception section 137 d thatare connected to a transmission line Tx 207 and a reception line Rx 206,respectively.

Instructions from the operation management section 138 formcommunication paths as shown in FIGS. 21 through 25 using thetransmission lines Tx 201, 203, 205, and 207 and the reception lines Rx200, 202, 204, and 206 in the redundant path switching section 182.

(Association Between Physical and Logical Communication Sections)

Physical positions of the communication sections may be staticallyassociated with the functional communication sections 135 a through 135d. Alternatively, a given communication section may first transmit apacket. The other communication sections may receive the packet and maybe associated with the communication sections 135 b through 135 d inorder. The association method will be described with reference to FIG.20.

As shown in FIG. 20, for example, let us suppose that the communicationsection A first transmits a packet to the communication sections A, B,C, and D whose physical positions are known. The communication section Ais assumed to be the communication section 135 a shown in FIG. 17. Thecommunication section C receives the packet (step S020) and is assumedto be the communication section 135 b shown in FIG. 17. Thecommunication section C transfers the received packet to either of theremaining communication ports. In this example, the communicationsection C selects the communication section B and transfers the packetto it (step S021).

The communication section B is then assumed to be the communicationsection 135 c in FIG. 17. The communication section D then receives thepacket (step S022) under the condition that the network wiring iscorrect. Since the redundant path switching section 182 is wired asshown in FIG. 20, the communication section D transmits the packetreceived by itself (step S023). The communication section D is assumedto be the communication section 135 d in FIG. 17. As mentioned above, apacket is transmitted and received to keep track of the receptionsequence on the basis that the network is correctly wired. In thismanner, the physical communication sections A through D can beassociated with the logical communication sections 135 a through 135 d.

This scheme can be used to detect whether the ring network isestablished. The network may not be established when the wiring isincorrect or an error occurs on the communication path. For example, letus suppose that the communication section A first transmits a packet andthen receives it for itself. In this case, it can be determined that thenetwork connected to the communication section A is configured as a linetopology or an error occurs on the network connected to thecommunication section A. The operation management section 138 can notifythe detected information to a program running on the CPU 101. The useror the operator then can take action such as confirming thecommunication cable connection or replacing the communication cable.

(Dynamic Sequence)

The process of the redundant communication control section 181 accordingto the embodiment is basically the same as that shown in FIG. 6.Differences are the normal mode setting at step S001, the method ofdetermining communication path states at steps S006 and S008, and thechangeover of the redundant path at steps S007 and S009. Thecommunication path state is checked in each of the control networks 122a and 122 b.

The normal mode setting at step S001 assumes that the communication pathconnection state for the redundant path switching section 182 isconfigured as shown in FIG. 21 or 25.

(First Abnormality Determination Method)

The first abnormality determination method at step S006 determineswhether the communication section 135 a receives a packet after thecommunication section 135 a transmits the packet and before thecommunication section 135 b receives the packet. The method determinesan error occurrence on the communication path for the control network122 a when the communication section 135 b does not receive the packetand the communication section 135 a receives it.

Similarly, the method determines whether the communication section 135 creceives a packet after the communication section 135 c transmits thepacket and before the communication section 135 d receives the packet.The method determines an error occurrence on the communication path forthe control network 122 b when the communication section 135 d does notreceive the packet and the communication section 135 c receives it.

(Second Abnormality Determination Method)

The second abnormality determination method supplies an EtherCAT framewith the BRD command issued to a register processed by all slaves andchecks the working counter for that frame. The communication path isdetermined to be abnormal when a value of the working counter for theEtherCAT frame is smaller than the slave count that is acquired andverified in advance. In this case, it is necessary to previously acquirethe number of slaves connected to each of the control networks 122 a and122 b.

Let us assume the number of slaves connected to the control network 122a to be Na and the number of slaves connected to the control network 122b to be Nb. The method determines at least the communication path forthe control network 122 a to be abnormal when the working counter valuefor the EtherCAT frame is smaller than Na. The method determines thecommunication path for the control network 122 b to be abnormal when theworking counter value is greater than Na and is smaller than Nb.

(First Normality Determination Method)

The first normality determination method at step S008 determines whetherthe communication section 135 a transmits a packet, the communicationsection 135 b receives the packet, and then the communication section135 a receives the packet. The method determines the communication pathto be normal when the communication section 135 b receives the packetand then the communication section 135 a receives it. Similarly, themethod determines whether the communication section 135 c transmits apacket, the communication section 135 d receives the packet, and thenthe communication section 135 c receives the packet. The methoddetermines the communication path for the control network 122 b to benormal when the communication section 135 d receives the packet and thenthe communication section 135 c receives it.

(Second Normality Determination Method)

The second abnormality determination method supplies an EtherCAT framewith the BRD command issued to a register processed by all slaves andchecks the working counter for that frame. The communication path isdetermined to be abnormal when a value of the working counter for theEtherCAT frame equals the slave count that is acquired and verified inadvance.

When the internal path for the redundant path switching section 182 isconfigured as shown in FIG. 25, the communication path for the network122 a is determined to be normal when the working counter for theEtherCAT frame received by the communication section 135 a equals thenumber of slaves Na for the ring network 122 a. The communication pathfor the network 122 b is determined to be normal when the workingcounter for the EtherCAT frame received by the communication section 135c equals the number of slaves Nb for the ring network 122 b.

(Path Connection State of the Redundant Path Switching Section)

The communication path connection states at steps S007 and S009 insidethe redundant path switching section 182 depend on states of thecommunication paths for the two ring networks 122 a and 122 b. Withreference to FIG. 26, the following describes how the operationmanagement section 138 controls the changeover of the connection statesinside the redundant path switching section 182.

FIG. 26 shows connection state transition inside the redundant pathswitching section 182. In FIG. 26, S030 denotes the normal mode. S031denotes a state in which only one ring network 122 a is abnormal. S032denotes a state in which only the other ring network 122 b is abnormal.S033 denotes a state in which both networks 122 a and 122 b areabnormal. The redundant path switching section 182 contains thecommunication path as shown in FIG. 21 or 25 for S030, that as shown inFIG. 22 for S031, that as shown in FIG. 23 for S032, and that as shownin FIG. 24 for S033.

An event S034 as a transition condition determines the ring network 122a to be abnormal. S035 determines the other ring network 122 b to beabnormal. S036 determines the ring network 122 a to be normal. S037determines the other ring network 122 b to be normal.

(Effects)

Using four communication sections 135, the control computer 180according to the embodiment can continue EtherCAT-based real-timecommunication even when an error occurs on the communication path in thetwo physical ring networks 122 a and 122 b.

Similarly to the first embodiment, the control computer according to theembodiment can improve the reliability of the redundant real-timecommunication even for a control network configured to use more than twocommunication ports.

While the embodiment uses the four communication sections 135 a through135 d, the same effect is available to more than four communicationsections. When an odd number of communication sections are used, thenetwork connected to one communication section forms a line topology. Aring network is formed for every two of the even number of the remainingcommunication sections to provide the effect of the invention.

Third Embodiment

The third embodiment will be described. FIG. 28 exemplifies a hardwareconfiguration of the redundant communication control section 191provided for the control computer according to the embodiment. Unlessotherwise specified, the mutually corresponding components or functionsin FIGS. 28 and 3 are designated by the same reference numerals. Thecontrol computer including the redundant communication control sectionin FIG. 28 uses the same hardware configuration as that in FIG. 2.

As shown in FIG. 28, the redundant communication control section 191differs from the redundant communication control section 102 in that anauto-increment address conversion section is provided in the packetgeneration section. An auto-increment address conversion section 141converts an auto-increment address in a command issued to it inaccordance with communication path states.

The control network system using the control computer according to thethird embodiment is the same as that of the first embodiment exceptconditions for the operation management section 138 to change thecommunication path connection state of the redundant path switchingsection 192 and the determination procedure for the communication pathstate determination section 132. The third embodiment assumes two ormore error occurrences on the communication path. The control computeraccording to the embodiment uses the same hardware configuration as thatin FIG. 2.

FIG. 27 is a flowchart showing a process of the redundant communicationcontrol section 191. Differences from the process shown in FIG. 6 forthe redundant communication control section are steps S003, S040, S041,S042, and S043. Step S008 is followed by a different response to thenegative result of the determination whether the communication pathrecovers from the error.

At step S003, the process configures the operation management for theredundant communication control section 191. A program running on theCPU 101 specifies conditions for the operation management section 138 toenable continued EtherCAT communication. For example, conditions to bespecified include the number of slaves capable of normal communicationand the identifier of a slave capable of continued EtherCATcommunication even when the communication is impossible.

When the communication path is determined to be abnormal at step S006,the process acquires information about the error at step S040. Theinformation to be acquired includes a location of the communication pathwhere the error occurs, for example. The third embodiment assumes two ormore errors on the communication path.

(Method of Acquiring an Error Occurrence Location)

FIG. 29 illustrates a method of locating two error occurrences on thecontrol network. FIG. 29 shows error occurrences on the communicationpath between the control targets 121 b and 121 c and on thecommunication path between the control targets 121 d and 121 e.

The method first supplies an EtherCAT frame with the BRD command issuedto a register processed by all slaves. When an error occurs on one ormore communication paths, the communication section 135 a receives apacket before the communication section 135 b receives a packet. Themethod detects an error occurrence on the communication path based onthis packet reception order and checks the working counter for the BRDcommand received by the communication section 135 a.

Working counter value Wa reflects the number of slaves Na up to a patherror 210 a nearest to the communication section 135 a. According to theexample in FIG. 29, the working counter is set to 2. Based on theworking counter value set to 2, the method can determine the location ofthe path error 210 a between the control targets 121 b and 121 c.

The redundant path switching section 192 loops the packet received bythe communication section 135 a back to the communication section 135 b.The communication section 135 b again receives that packet. The methodcan determine one error occurrence on the communication path when theworking counter value Wb for the BRD command equals the slave count Nthat is acquired and verified in advance. The method can determine twoerror occurrences on the communication path when Wb is smaller than N.

According to the example in FIG. 29, Wb is set to 3. A differencebetween Wb and Wa reflects the number of slaves Nb that are foundbetween the communication section 135 b and a path error 210 b nearestto the communication section 135 b. According to the example in FIG. 29,a difference between Wb and Wa is expressed as 3−2=1. Accordingly, themethod determines the location of the path error 210 b on thecommunication path between the control targets 121 e and 121 d.

In FIG. 27, the process determines whether the EtherCAT communicationcan continue (step S041) based on the information acquired at step S040and the condition configured at step S003 for enabling the continuedcommunication. One example of the condition for enabling the continuedcommunication may be the minimum number of slaves Ncl capable of thecommunication. In this case, it is determined that the EtherCATcommunication can continue when the sum of Na and Nb is Nc1 or more.

Another example of the condition for enabling the continuedcommunication may be the maximum number of slaves Nc2 incapable ofcommunication. In this case, it is determined that the EtherCATcommunication can continue when a difference, found by subtracting Naand Nb from the previously acquired and verified slave count N, is Nc2or smaller.

Yet another example of the condition for enabling the continuedcommunication may be that the EtherCAT communication can continue evenwhen the communication is disabled for a slave with its auto-incrementaddress set to A in the normal state. In this case, the process canlocate an error occurrence on the communication path at step S040. Theprocess can determine whether the communication is enabled for the slavewith address A. Based on this information, the process determineswhether the EtherCAT communication can continue.

At step S041, the process may determine that the EtherCAT communicationcannot continue. In this case, the process notifies this determinationresult to the program running on the CPU 101 (step S042). An example ofthe notification method is an interrupt.

At step S043, the operation management section 138 issues a stop commandto all communicable slaves to stop the system. At step S043, instead ofthe operation management section 138, the program running on the CPU101, notified at step S042, may issue the command to stop the slaves.The slave needs to be preconfigured so as to be able to stop operationsusing a feature such as a watchdog timer when the communication with themaster is disabled for a specified period of time.

(Auto-Increment Address Conversion)

When two or more errors occur on the communication path, theauto-increment addresses change as shown in FIG. 29. The control target121 e is assigned auto-increment address −4 in the normal state so as torepresent the control target 121 e as the fifth slave. When thecommunication path errors 210 a and 210 b occur as shown in FIG. 29, thecontrol target 121 e changes its auto-increment address to −2 torepresent itself as the third slave. In order to prevent the programrunning on the CPU 101 from being aware of this change, theauto-increment address conversion section 141 changes the auto-incrementaddress in the EtherCAT telegram based on the communication path errors.

Auto-increment address An for the nth slave (n=1 for the first slave) isrepresented as follows for the normal communication path usingpreviously acquired and verified slave count N, slave count Na capableof communication with the communication section 135 a, and slave countNb capable of communication with the communication section 135 b.

An=−n+1, where n<=Na

An=−Na+1−(n−(N−Nb)), where n>N−Nb

An=communication disabled, where Na<n<=N−Nb

When the address indicates a slave incapable of communication(Na<n<=N−Nb), the auto-increment address conversion section 141 notifiesthe program running on the CPU that the communication is disabled. Anexample of the notification method is an interrupt.

For example, FIG. 29 shows that the path error 210 a occurs between thecontrol targets 121 b and 121 c and the path error 210 b occurs betweenthe control targets 121 d and 121 e. In this case, the slave counts areN=5, Na=2, and Nb=1. The second slave (n=2) is conditioned to be 2<=Naand changes its address A2 to −2+1=−1. The fifth slave (n=5) isconditioned to be 5>N−Nb and changes its address A5 to−2+1−(5−(5−1))=−2.

(Three or More Communication Path Errors)

While the embodiment notifies at least two communication path errors,the precise number of communication path errors is unknown. However, theprecise number of communication path errors is unnecessary because theability to communicate with an EtherCAT slave determines the ability tocontinue the EtherCAT communication.

When the communication path state is not recovered at step S008 of thisembodiment, the process determines at step S006 whether a communicationpath error occurs. This determination is used because a communicationpath error occurs and another is likely to occur.

The embodiment can continue the system operation as long as the EtherCATcommunication can continue even when two or more communication patherrors occur. When the EtherCAT communication becomes unable tocontinue, the redundant communication control section 191 or the programrunning on the CPU 101 notified of this state by the redundantcommunication control section 191 can appropriately stop the system.That is, the redundant scheme ensures the highly reliable real-timecommunication.

1. An information processor for controlling at least one control targetvia a network, the information processor comprising: an arithmeticsection; at least two communication sections each including atransmission section for transmitting packet to a network and areception section for receiving a packet from a network; and a redundantcommunication control section that is provided between the arithmeticsection and the communication section and controls a communication path,wherein the arithmetic section transmits an instruction value for thecontrol target to the redundant communication control section andreceives a result of communication with the control target from theredundant communication control section; wherein the communicationsection transmits a communication content received from the redundantcommunication control section to the control target via the network andtransmits a result received from the control target to the redundantcommunication control section; wherein the redundant communicationcontrol section includes: a communication path state determinationsection for determining a path state of the network; and a redundantpath switching section for switching connection between the arithmeticsection and at least the two communication sections; wherein the networkfor connecting at lest the one control target with the communicationsection provides a logical ring topology; and wherein the redundant pathswitching section functions based on the communication path statedetermined by the communication path state determination section andchanges a connection path between the communication sections and acommunication path between the communication section and the arithmeticsection to communication paths having different logical ring topologies.2. The information processor according to claim 1, wherein the controltarget includes a loopback function section for changing a transferdestination of the packet when an error occurs on a communication pathbetween the information processor and one of a communication section andanother control target.
 3. The information processor according to claim2, wherein the network is EtherCAT.
 4. The information processoraccording to claim 2, wherein the communication path state determinationsection includes: a communication path abnormality determination sectionfor determining abnormality on a communication path for the network; anda communication path normality determination section for determiningnormality on a communication path for the network.
 5. The informationprocessor according to claim 4, wherein the communication sectionincludes: a transmission section for transmitting a packet to thenetwork; and a reception section for receiving a packet from thenetwork; wherein, when the communication path normality determinationsection determines a communication path to be normal, the redundant pathswitching section connects the arithmetic section with the communicationsection and connects a reception section with a transmission section forthe other communication section to configure a communication path basedon a logical ring topology; and wherein, when the communication pathabnormality determination section determines a communication path to beabnormal, the redundant path switching section connects the arithmeticsection with a transmission section for the communication section,connects the arithmetic section with a reception section for the othercommunication section, and connects a reception section for thecommunication section with a transmission section for the othercommunication section to configure a communication path based on alogical ring topology.
 6. The information processor according to claim5, wherein the communication path abnormality determination sectiondetermines a communication path to be abnormal after a packet istransmitted from the communication section connected to the arithmeticsection and then a packet is received by the reception section of thecommunication section having transmitted the packet before acommunication content is received by the reception section of the othercommunication section than the communication section having transmittedthe packet.
 7. The information processor according to claim 6, whereinthe communication path normality determination section determines acommunication path to be normal after a packet is transmitted from thecommunication section connected to the arithmetic section, acommunication content is received by the reception section of the othercommunication section than the communication section having transmittedthe packet, and then a packet is received by the reception section ofthe communication section having transmitted the packet.
 8. Theinformation processor according to claim 4, wherein the communicationpath abnormality determination section supplies a packet with acommunication content incremented by a specified value when the numberof the control targets connected to the network is known and all thecontrol targets complete reception; and wherein the communication pathabnormality determination section determines a communication path to beabnormal when the number of the control targets differs from the numberof the control targets found based on a value of a communication contentsupplied to a packet during packet reception.
 9. The informationprocessor according to claim 8, wherein the communication path normalitydetermination section supplies a packet with a communication contentincremented by a specified value when the number of the control targetsconnected to the network is known and all the control targets completereception; and wherein the communication path normality determinationsection determines a communication path to be normal when the number ofthe control targets matches the number of the control targets foundbased on a value of a communication content supplied to a packet duringpacket reception.
 10. The information processor according to claim 9,wherein the redundant communication control section maintains acondition for enabling continued communication, continues communicationwhen communication can continue, and stops the control target whencommunication cannot continue.
 11. The information processor accordingto claim 10, wherein the condition for enabling continued communicationdenotes one of: the minimum number of the control targets capable ofcommunication; the maximum number of the control targets incapable ofcommunication; and an identifier for the control target that continuescommunication even when communication is impossible.
 12. The informationprocessor according to claim 11, wherein the redundant communicationcontrol section includes an identifier conversion section that locates acommunication path error occurrence during at least two communicationpath error occurrences and converts an identifier for the controltarget.
 13. The information processor according to claim 12, wherein theidentifier represents an auto-increment address.
 14. A control networksystem that connects an information processor with a plurality ofcontrol targets via a network, wherein the network provides a logicalring topology for a packet communication path; and wherein theinformation processor is equivalent to the information processoraccording to claim 1.